﻿using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using ClassSite.Models;

namespace ClassSite
{
      // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明，
      // 请访问 http://go.microsoft.com/?LinkId=9394801

      public class MvcApplication : System.Web.HttpApplication
      {
            public static void RegisterGlobalFilters ( GlobalFilterCollection filters )
            {
                  filters.Add ( new HandleErrorAttribute ( ) );
            }

            public static void RegisterRoutes ( RouteCollection routes )
            {
                  routes.IgnoreRoute ( "{resource}.axd/{*pathInfo}" );

                  routes.MapRoute (
                      "Default" , // 路由名称
                      "{controller}/{action}/{id}" , // 带有参数的 URL
                      new { controller = "Account" , action = "LogOn" , id = UrlParameter.Optional } // 1  参数默认值 UrlParameter.Optional 
                  );

            }

            protected void Application_Start ( )
            {
                  Database.SetInitializer ( new DropCreateDatabaseIfModelChanges<ClassSiteEntities> ( ) );
                  System.Data.Entity.Database.SetInitializer ( new ClassSite.Models.Sample ( ) );
                  AreaRegistration.RegisterAllAreas ( );

                  // 默认情况下对 Entity Framework 使用 LocalDB
                  Database.DefaultConnectionFactory = new SqlConnectionFactory ( @"Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" );

                  RegisterGlobalFilters ( GlobalFilters.Filters );
                  RegisterRoutes ( RouteTable.Routes );
            }
      }
}